3700

19 分钟

#C 语言标准库头文件 stdlib.h

这个头文件提供 常用的基本功能。例如内存管理,程序终止等。

#示例

#include <stdio.h> #include <stdlib.h> // 包含stdlib.h头文件 #include <time.h> // 用于time()函数 // 定义比较函数 int compare(const void *a, const void *b) { return (*(int*)a - *(int*)b); } int main(void) { // 1. 内存分配示例 printf("=== 内存分配示例 ===\n"); int *arr = (int*)malloc(5 * sizeof(int)); // 分配5个int大小的内存 if (arr == NULL) { printf("内存分配失败!\n"); return 1; } else { printf("内存分配成功!\n"); } // 2. 随机数生成示例 printf("\n=== 随机数生成示例 ===\n"); srand(time(0)); // 用当前时间初始化随机数种子 printf("随机数[0,99]: %d\n", rand() % 100); // 3. 字符串转换示例 printf("\n=== 字符串转换示例 ===\n"); char num_str[] = "12345"; int num = atoi(num_str); // 字符串转整数 printf("字符串\"%s\"转换为整数: %d\n", num_str, num); // 4. 环境变量示例 printf("\n=== 环境变量示例 ===\n"); char *path = getenv("PATH"); // 获取PATH环境变量 if (path != NULL) { printf("PATH环境变量: %s\n", path); } else { printf("PATH环境变量未找到\n"); } // 5. 排序示例 (qsort) printf("\n=== 排序示例 ===\n"); for (int i = 0; i < 5; i++) { arr[i] = rand() % 100; // 给数组赋随机值 printf("arr[%d] = %d\n", i, arr[i]); } qsort(arr, 5, sizeof(int), compare); // 排序数组 printf("排序后:\n"); for (int i = 0; i < 5; i++) { printf("arr[%d] = %d\n", i, arr[i]); } // 6. 退出程序 free(arr); // 释放分配的内存 printf("\n程序正常退出\n"); exit(EXIT_SUCCESS); // 等同于return 0 }

运行结果:

=== 内存分配示例 ===
内存分配成功!

=== 随机数生成示例 ===
随机数[0,99]: 92

=== 字符串转换示例 ===
字符串"12345"转换为整数: 12345

=== 环境变量示例 ===
PATH环境变量: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin

=== 排序示例 ===
arr[0] = 74
arr[1] = 0
arr[2] = 64
arr[3] = 73
arr[4] = 28
排序后:
arr[0] = 0
arr[1] = 28
arr[2] = 64
arr[3] = 73
arr[4] = 74

程序正常退出

#常量

常量标准说明
EXIT_SUCCESSC89表示程序正确执行,通常为 0
EXIT_FAILUREC89表示程序执行失败,通常为 1

#函数

函数标准说明
abortC89异常中止
exitC89正常退出
atexitC89注册 exit 退出前调用的函数
_ExitC99正常退出
quick_exitC11快速退出
at_quick_exitC11注册 quick_exit 退出前调用的函数

#推荐阅读

创建于 2025/6/16

更新于 2025/6/30